<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>数组</title>
</head>

<body>
  <h3>请在控制台中查看运行结果。</h3>
  <script>
    // // 创建一个不指定长度的空数组
    // var dayOfWeek = new Array()
    // console.log('dayOfWeek: ' + dayOfWeek)
    // // 创建一个指定长度的数组
    // var dayOfWeek1 = new Array(7)
    // console.log('dayOfWeek: ' + dayOfWeek1)
    // // 创建的同时将数据以参数的形式传入
    // var dayOfWeek2 = new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday')
    // console.log('dayOfWeek2', dayOfWeek2)
    // // 直接使用[]创建数组
    // var dayOfWeek3 = []
    // console.log('dayOfWeek3', dayOfWeek3)
    // // 创建时为数组填充数据
    // var dayOfWeek4 = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']
    // console.log('dayOfWeek4', dayOfWeek4)
    // // 查看数组长度
    // console.log('dayOfWeek4.length：', dayOfWeek4.length)
    // // 循环输出数组中元素
    // for(var i = 0; i < dayOfWeek4.length; i++) {
    //     console.log('dayOfWeek4['+ i +']：', dayOfWeek4[i])
    // }
    // 已知斐波那契数列中第一个数字是1，第二个数字是2，从第三项开始，每一项都等于前两项的和。
    // var fibonacci = []
    // fibonacci[0] = 1
    // fibonacci[1] = 2
    // for (var i = 2; i < 19; i++) {
    //     fibonacci[i] = fibonacci[i - 1] + fibonacci[i - 2]
    // }
    // for (var i = 0; i < fibonacci.length; i++) {
    //     console.log('fibonacci['+ i +']：', fibonacci[i])
    // }
    // 数组初始化
    var numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    // 为数组（尾部）添加一个元素
    numbers[numbers.length] = 10
    console.log('numbers：', numbers)
    numbers.push(11)
    numbers.push(12, 13)
    console.log('numbers使用push之后:', numbers)
    for (var i = numbers.length; i >= 0; i--) {
      numbers[i] = numbers[i - 1]
    }
    numbers[0] = -1
    console.log('numbers使用循环赋值的方法为首位添加值：', numbers)
    // 使用unshift进行数值插入
    numbers.unshift(-2)
    numbers.unshift(-4, -3)
    console.log('使用unshift进行数值插入', numbers)
    // 使用循环错位覆盖，删除数组第一个元素
    for (var i = 0; i < numbers.length; i++) {
      numbers[i] = numbers[i + 1]
    }
    console.log('循环错位覆盖删除第一个元素', numbers)
    // 使用shift()方法移除数组中的元素
    numbers.shift()
    console.log('使用shift()方法移除数组之后：', numbers)
  </script>
</body>

</html>